package Map;

public abstract class Tuile implements Zone {

	final static public int TERRE = 0;
	final static public int MONTAGNE = 1;
	final static public int EAU = 2;
	final static public int FORET = 3;
	final static public int LAVE = 4;

	private static int idCount = 0;
	protected int _id;

	/**
	 * Constructeur
	 */
	public Tuile() {
		_id = idCount++;
	}

	/**
	 * @return id du terrain
	 */
	public int getTerrainId() {
		return 0;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see Map.Zone#getNombreTuile()
	 */
	@Override
	public int getNombreTuile() {
		return 1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see Map.Zone#getLargeur()
	 */
	public int getLargeur() {
		return 1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see Map.Zone#getHauteur()
	 */
	public int getHauteur() {
		return 1;
	}

	/**
	 * @return la couleur d'une tuile
	 */
	public abstract String getColorCode();

	/* (non-Javadoc)
	 * @see Map.Zone#findTuile(int, int)
	 */
	@Override
	public Tuile findTuile(int x, int y) {
		return this;
	}

	/**
	 * @param t1
	 * @return 
	 */
	public boolean equals(Tuile t1) {
		return getId() == t1.getId();
	}

	/**
	 * @return id de la tuile
	 */
	public int getId() {
		return _id;
	}

}
